1. Technical Field
The present invention relates, in general, to a conference enabled networking system and, more specifically, to the management of windows within a conferenced enabled window application distributed over a networking system. More specifically still, the present invention relates to a method of tracking the size and location of top-level windows for conference enabled X-windows applications for participants in a conference.
2. Description of the Related Art
Windows are the most fundamental of all resources formed by an X-windows application. Windows are grouped into hierarchial relationships, each having a parent (with the exception of the root window) and zero or more children. Application "top-level" windows are created as children of the root window. A window manager, if present, typically reparents these windows underneath one of its own windows in order to provide border controls for the application. From the conferencing enabler's perspective, the window is still considered to be a top-level window even though it may have been reparented by the window manager. Accordingly, a top-level application window may be defined as being one whose parent window is not owned by the application. Every application has at least one primary top-level window. "Pop-out" windows, such as, for example, pull-down menus and dialog boxes, are also generally implemented as top-level windows by X applications.
Top-level windows are of interest to the X conferencing enabler primarily for two reasons: input focus switching, and positioning of pull-down menus. Conference applications are made aware of the state, which include location, size, color, contents, etc., of top-level windows on the input focus X server. Since the application "thinks" that it is only talking to one server, it makes sense to return replies and events containing relevant window information from the input focus server. When the input focus is switched, the enabler must be able to inform a conferenced application of the different window configurations as they exist on the new input focus display. Top-level window locations are also used to correctly position pull-down menus belonging to a conferenced application for each participant.
Accordingly, what is needed is a method for allowing an X windows conferencing enabler to track top-level window configurations for participants in a conference.